package com.automannn.dubbo.extensionFactoryTest;

import org.apache.dubbo.common.extension.ExtensionFactory;
import org.apache.dubbo.common.extension.ExtensionLoader;
import org.apache.dubbo.rpc.Protocol;

/**
 * @author automannn
 * @Date 2023/5/23
 */
public class ExtensionFactoryTest {
    public static void main(String[] args) {
        //对于扩展点工厂， 扩展点加载器会特殊处理
        ExtensionFactory extensionFactory =  ExtensionLoader.getExtensionLoader(ExtensionFactory.class).getAdaptiveExtension();
        //对于扩展点工厂， 扩展点加载器会特殊处理
        System.out.println(extensionFactory);

        //获取对象的时候，分别从 spi工厂，spring工厂获取，
        // 其中，spi工厂不论传入生命名称，都是获取的 接口的兼容扩展点实现
        System.out.println(extensionFactory.getExtension(Protocol.class,"dubbo"));
    }
}
